package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 * @author huajiyu
 * @since 2022-07-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_order_yahoo")
public class OrderYahooDo extends Model<OrderYahooDo> {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("shop_id")
    private Long shopId;

    @TableField("company_id")
    private Long companyId;

    @TableField("version")
    private Integer version;


    @TableField("order_id")
    private String orderId;

    @TableField("original_order_id")
    private String originalOrderId;

    /**
     * 拆分源订单 ID
     */
    @TableField("parent_order_id")
    private String parentOrderId;

    /**
     * 拆分后的订单ID
     */
    @TableField("child_order_id")
    private String childOrderId;

    /**
     * 下订单的日期和时间（在购物车中按下订单确认按钮的日期和时间）（例）2012-04-19T16:10:40
     */
    @TableField("order_time")
    private Date orderTime;

    /**
     * 上次更新订单信息的日期和时间。2012-04-19T16:10:40+09:00
     */
    @TableField("last_update_time")
    private Date lastUpdateTime;

    /**
     * 1 : 予約中2 : 処理中 3 : 保留 4 : キャンセル 5 :  完了
     */
    @TableField("order_status")
    private String orderStatus;

    /**
     * 这是商店可以为订单信息独立设置的状态。
     */
    @TableField("store_status")
    private String storeStatus;

    /**
     * 买家评论
     */
    @TableField("buyer_comments")
    private String buyerComments;

    /**
     * 卖家评论
     */
    @TableField("seller_comments")
    private String sellerComments;

    /**
     * 店内备忘 是通过订单管理工具进入店铺时在店铺中的备忘录。
     */
    @TableField("notes")
    private String notes;

    /**
     * 支付状态	0：未付款 1：已存款
     */
    @TableField("pay_status")
    private String payStatus;

    /**
     * 1 : 決済申込 2 : 支払待ち 3 : 支払完了 4 : 入金待ち5 : 決済完了6 : キャンセル7 : 返金8 : 有効期限切れ9 : 決済申込中10 : オーソリエラー11 : 売上取消12 : Suicaアドレスエラー
     */
    @TableField("settle_status")
    private String settleStatus;

    /**
     * 0：后付费 1：预付费
     */
    @TableField("pay_type")
    private String payType;

    /**
     * 付款方式	 0 : カード 1 : ネットバンキング 2 : キャリア決済 3 : 振込 4 : 代引 5 : コンビニ 6 : 電子マネー 7 : その他
     */
    @TableField("pay_kind")
    private String payKind;

    /**
     * 这是由商店承担的结算费用。
     */
    @TableField("seller_handling_charge")
    private Double sellerHandlingCharge;

    /**
     * 购买历史详细信息屏幕 付款更新日期和时间。
     */
    @TableField("pay_action_time")
    private Date payActionTime;

    /**
     * 入金处理备注
     */
    @TableField("pay_notes")
    private String payNotes;

    /**
     * 付款 ID。
     */
    @TableField("settle_id")
    private String settleId;

    /**
     * 您是否需要在采购商输入的订单时开具发票。
     */
    @TableField("need_bill_slip")
    private Boolean needBillSlip;

    /**
     * 0 : 出荷不可1 : 出荷可2 : 出荷処理中3 : 出荷完了4 : 着荷完了
     */
    @TableField("ship_status")
    private String shipStatus;

    @TableField("ship_method")
    private String shipMethod;

    @TableField("ship_method_mame")
    private String shipMethodMame;

    /**
     * 配送希望日です。（YYYY-MM-DD）
     */
    @TableField("ship_request_date")
    private Date shipRequestDate;

    /**
     * 配送希望時间 12:00～14:00など
     */
    @TableField("ship_request_time")
    private String shipRequestTime;

    @TableField("ship_notes")
    private String shipNotes;

    /**
     * 1000：その他 1001：ヤマト運輸 1002：佐川急便1003：日本郵便 1004：西濃運輸 5001：店頭受け取り
     */
    @TableField("ship_company_code")
    private String shipCompanyCode;

    @TableField("receive_shop_code")
    private String receiveShopCode;

    /**
     * 交货单号 1
     */
    @TableField("ship_invoice_number1")
    private String shipInvoiceNumber1;

    /**
     * 运输单号 2
     */
    @TableField("ship_invoice_number2")
    private String shipInvoiceNumber2;

    /**
     * 没有支票号码的原因	 NULL：（未注册状态） 101：对于直接从制造商等库存源发送的产品 102：对于不需要运输的产品103：对于在商店收到的产品
     104：对于从送货公司直接联系105：凭证编号由于运输方式未发出（无法追踪）
     */
    @TableField("ship_invoice_number_empty_reason")
    private String shipInvoiceNumberEmptyReason;

    /**
     * 配送会社URL	 商店通过工具和 API 设置的运输公司的跟踪 URL。
     */
    @TableField("ship_url")
    private String shipUrl;

    /**
     * 0：正常 1：今天的订单 2：明天的订单
     */
    @TableField("arrive_type")
    private String arriveType;

    /**
     * 发货日期	(YYYY-MM-DD)
     */
    @TableField("ship_date")
    private Date shipDate;

    @TableField("arrival_date")
    private Date arrivalDate;

    @TableField("ship_first_name")
    private String shipFirstName;

    @TableField("ship_last_name")
    private String shipLastName;

    /**
     * 更新者
     */
    @TableField("operation_user")
    private String operationUser;

    /**
     * 送货邮政编码
     */
    @TableField("ship_zip_code")
    private String shipZipCode;

    /**
     * 目的地县
     */
    @TableField("ship_prefecture")
    private String shipPrefecture;

    @TableField("ship_city")
    private String shipCity;

    @TableField("ship_address1")
    private String shipAddress1;

    @TableField("ship_address2")
    private String shipAddress2;

    /**
     * 送货电话号码
     */
    @TableField("ship_phone_number")
    private String shipPhoneNumber;

    @TableField("ship_emg_phone_number")
    private String shipEmgPhoneNumber;

    /**
     * 商店设定的费用（货到付款等）和 Yahoo! 结算结算费用不包括在内。
     */
    @TableField("pay_charge")
    private Double payCharge;

    /**
     * 运费（免运费券折扣后的金额）
     */
    @TableField("ship_charge")
    private Double shipCharge;

    /**
     * 礼品包装费
     */
    @TableField("gift_wrap_charge")
    private Double giftWrapCharge;

    /**
     * * 这不是优惠券折扣，而是商店下订单后在 Store Creator Pro 折扣字段中输入的值。
     */
    @TableField("discount")
    private Double discount;

    /**
     * 调整量* 负值是可以接受的，这种情况下-（10字节）是允许的最大值
     */
    @TableField("adjustments")
    private Double adjustments;

    @TableField("settle_amount")
    private Double settleAmount;

    /**
     * 使用的点数使用
     */
    @TableField("use_point")
    private Double usePoint;

    /**
     * 礼券使用金额
     */
    @TableField("gift_card_discount")
    private Double giftCardDiscount;

    /**
     * 小计--使用积分+礼券+费用--折扣+运费+调整金额--商城优惠券折扣金额-部分优惠使用金额--礼券使用金额
     */
    @TableField("total_price")
    private Double totalPrice;

    @TableField("refund_total_price")
    private Double RefundTotalPrice;

    /**
     * 入金金額	 分割後注文には引き継ぎません。
     */
    @TableField("settle_pay_amount")
    private Double settlePayAmount;

    @TableField("seller_id")
    private String sellerId;

    @TableField("coupon_data")
    private String couponData;

    @TableField("coupon_discount")
    private Double couponDiscount;

    @TableField("original_price")
    private Double originalPrice;

    @TableField("original_num")
    private Integer originalNum;

    /**
     * 设备类型 1 = PC，2 = MB，3 = 智能手机，4 = 平板电脑
     */
    @TableField("device_type")
    private String deviceType;

    /**
     * 移动运营商名称
     */
    @TableField("mobile_carrier_name")
    private String mobileCarrierName;

    /**
     * 已查看标志 false：未查看 true：已查看
     */
    @TableField("is_seen")
    private Boolean isSeen;

    /**
     * 拆分标志 false：未拆分 true：拆分
     */
    @TableField("is_split")
    private Boolean isSplit;

    /**
     * 取消原因 100：取消 110：退货 120：未付款 130：地址不明 140：拒绝收货 150：联系失败 160：重复订单 170：无法付款检查 180：其他 300：错误订单 310：使用积分 忘记 320：忘记了使用优惠券 330：我在别处找到便宜的价格 340：运费很高
     350：我想更改收货地址 360：我想更改送货方式
     370：我想更改付款方式 380：信用卡无法使用
     200：支付方式便利 210：缺货 220：停产
     230：其他 0：取消原因 不适用 系统取消
     空白：订单未取消

     */
    @TableField("cancel_reason")
    private String cancelReason;

    /**
     * 如果取消原​​因是“其他（230）”，则会显示商店输入的原因。除取消原因 230 外，它将为空白。
     */
    @TableField("cancel_reason_detail")
    private String cancelReasonDetail;

    /**
     * 課金していいかどうかの判定です。 （テスト注文かどうかの判定となります。）
     */
    @TableField("is_royalty")
    private Boolean isRoyalty;

    /**
     * 課金が確定しているかどうかの判定です。
     */
    @TableField("is_royalty_fix")
    private Boolean isRoyaltyFix;

    @TableField("print_bill_flag")
    private Boolean printBillFlag;

    /**
     * 課金確定した日時です。
     */
    @TableField("royalty_fix_time")
    private Date royaltyFixTime;

    /**
     * 它是在商店本身在自己的商店进行购买测试时设置的
     */
    @TableField("is_seller")
    private Boolean isSeller;

    /**
     * 判断购买者是否进行了店铺评价。
     */
    @TableField("is_rating_b2s")
    private Boolean isRatingB2s;

    /**
     * 0：非恶作剧订单 1：淘气订单 2：淘气取消订单
     */
    @TableField("suspect")
    private String suspect;

    /**
     * 当它被判断为恶作剧命令时，这是一条消息。
     */
    @TableField("suspect_message")
    private String suspectMessage;

    /**
     * 下新订单时发送订单确认电子邮件的日期和时间。
     */
    @TableField("send_confirm_time")
    private Date sendConfirmTime;

    /**
     * 付款时发送电子邮件的日期和时间。
     */
    @TableField("send_pay_time")
    private Date sendPayTime;

    /**
     * 推荐人
     */
    @TableField("referer")
    private String referer;

    /**
     * 购买者进入目标商店的商店页面的 URL。
     */
    @TableField("entry_point")
    private String entryPoint;

    /**
     * 优惠券使用 ID “UsageId”是一个唯一的 ID，始终为每个订单发布，并链接到该订单使用的优惠券信息。但是，它不处理优惠券 ID。
     */
    @TableField("usage_id")
    private Long usageId;

    /**
     * 使用的优惠券信息
     */
    @TableField("use_coupon_data")
    private String useCouponData;

    /**
     * 总优惠券折扣
     */
    @TableField("total_coupon_discount")
    private Double totalCouponDiscount;

    /**
     * 是否使用免运费优惠券。0：无 1 ：有
     */
    @TableField("shipping_coupon_flg")
    private String shippingCouponFlg;

    /**
     * 这是申请免运费优惠券时的运费折扣金额。商店优惠券的折扣金额仅为运费的总折扣。
     */
    @TableField("shipping_coupon_discount")
    private Double shippingCouponDiscount;

    /**
     * 活动积分
     */
    @TableField("campaign_points")
    private Integer campaignPoints;

    /**
     * 多个交货单标志
     */
    @TableField("is_multi_ship")
    private Boolean isMultiShip;

    /**
     * 多个交货单 ID
     */
    @TableField("multi_ship_id")
    private String multiShipId;

    /**
     * 确定订单中是否包含一级药物。
     */
    @TableField("is_first_class_drug_includes")
    private Boolean isFirstClassDrugIncludes;

    /**
     * false、null：未承諾 true：承諾済み
     */
    @TableField("is_first_class_drug_agreement")
    private Boolean isFirstClassDrugAgreement;

    /**
     * 免费礼物（欢迎礼物）包含标志
     */
    @TableField("is_welcome_gift_includes")
    private Boolean isWelcomeGiftIncludes;

    @TableField("create_time")
    private Date createTime;

    @TableField("update_time")
    private Date updateTime;

    @TableField("delete_time")
    private Date deleteTime;


    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    /**
     * 是否转发货
     */
    @TableField("is_send_out")
    private Integer isSendOut;

    /**
     * 是否回传单号
     */
    @TableField("is_upload_express")
    private Integer isUploadExpress;

    /**
     * 系统备注
     */
    @TableField("system_memo")
    private String systemMemo;

}
